精  
【新人福利】公共代码求助贴
id: 4979518212 | 楼主:OnceBeta | 返回首页
id: 104019808581
1L | 作者:OnceBeta | 发布于 2017-02-14 00:16

一、永吧制作界现状
嗯,不用多说了,永吧现已掀起一股制作关卡的新浪潮,目前制作关卡所使用的主流引擎是以mw1.0为基础的Remake Engine和由本吧大神lyh参照mw1.0各项参数重新编写的Rainbow Engine,在优点上,二者各有千秋,Remake Engine所具有手感还原度极高、与原版更为相似的优点,但在使用方便性上则大不如Rainbow Engine,而Rainbow Engine具有简单易懂、方便操作的优点,但手感还原度则不如前者;但因前者其Event体系过于冗长等缺点,目前大多数吧友采用的是后者Rainbow Engine制作关卡。

上述二者都是以Clickteam Fusion为平台进行操作的,在Clickteam Fusion中,包括马里奥、敌人甚至屏幕的移动在内,都是由Event进行控制的,如果把关卡的布局等比作关卡的灵魂,那Event可以说是一个关卡的躯壳;而就目前方便性最高的引擎及上文中提及的主流引擎Rainbow Engine,虽然可以在不使用Event在素材、运动等方面可以进行一定的创新。但真正设计出自定义程度、可玩性高的敌人,还需要自己操作,编写出适合自己大脑中构造出的敌人行为模式的Event才能做到。
而就Clickteam Fusion的Event语句系统,虽较C、Java、Python等易于学习,但对于没有过多接触的新人,要熟练应用而达到自己理想中的效果,还是颇具难度的。
二、贴子用途
也许大家都想设计出一个自己构思的敌人,但却苦于代码技术不够好,不能实现某些想实现的效果,这就是我开这个贴子的想法,希望在此提供一点力所能及的帮助。
三、提问要求
楼下可以开始提问,注意提问前请尽量简化代码,没有人会想在自己的空余时间看一整篇代码,然后以截图的形式回复,我个人能力有限,会尽量帮助大家解决问题,当然大家也可以回答别人提问的问题,回复时请以@提问者+贴子楼数的形式开头,方便辨认,提问者看到自己问题的回答时,也请确认一下,待问题解决后,请@我,我将对价值较高的问题进行整理归纳,谢谢!
另附永吧关卡制作者交流群群号码:521993708
可选择加入,加群时请注明百度昵称



id: 104030977599
3L | 作者:nmnmoooh | 发布于 2017-02-14 08:54

前排围观
nicebeta



id: 104038941933
4L | 作者:koopa4 | 发布于 2017-02-14 12:35

膜大神


id: 104043247467
5L | 作者:Anti_Tencent | 发布于 2017-02-14 14:23

我目前正在编写一个完全不依赖专有软件的仿MF引擎,使用Lisp语言。

回复
CATLINA52 于 2017-02-14 14:52:18 id: 104044421857
那个,最好是仿SMBX的,用着能更顺手。
koopa4 于 2017-02-15 16:12:15 id: 104096950537
回复 CATLINA52 :最好同时具备MF的手感和SMBX的功能,毕竟SMBX手感太糟
Anti_Tencent 于 2017-02-15 19:33:44 id: 104106043347
回复 CATLINA52 :SMBX是什么样的?
CATLINA52 于 2017-02-15 19:40:12 id: 104106313841
回复 Anti_Tencent :请到SMBX吧里下载SMBX1.4.3,到时候你就知道了。
无视我…… 于 2017-02-17 21:40:08 id: 104210912958
回复 koopa4 :smbx其实比较还原老任官作的手感...熟悉了其实就能接受
虹原翼 于 2017-02-17 21:59:59 id: 104211884935
阻碍用其他平台移植MF的唯一原因是:马里奥的手感依赖于MMF内建的8方向运动,现在就差这个东西不知道规律,否则我也去写了。。。
OnceBeta 于 2017-02-17 22:43:24 id: 104214048002
回复 虹原翼 :可否爆破一下源码?
OnceBeta 于 2017-02-17 22:44:20 id: 104214096168
回复 虹原翼 :我之前测出了platform运动的y坐标变化规律可以探讨下
OnceBeta 于 2017-02-17 23:41:17 id: 104216798412
回复 虹原翼 :还有其实这里...个人感觉speed和gravity应该是两个处理方式相似的参数,speed对应到坐标运动,gravity对应坐标运动的速度。之前测了一下如果speed mod 8=0则每帧会移动speed/8像素如果0<mod 8<8就会是另一种方式,每帧先加上floor(speed/8),后以八帧为一个单位的每mod 8/8帧会加1
koopa4 于 2017-02-17 23:51:23 id: 104217242733
回复 虹原翼 :喝了我以前用可变值重写过RE的运动,其实MMF内置的运动就是1CTF单位=0.125像素/帧,只要用可变值来记录马里奥的位置就可以实现MMF的运动啦
OnceBeta 于 2017-2-17 23:53 id: 104217358389
回复 koopa4 :对的...但是这么只是粗略的事实上还有一堆玄学问题


id: 104063013836
6L | 作者:烈火战神219 | 发布于 2017-02-14 22:13

喝了然而并无卵用

回复
OnceBeta 于 2017-02-17 21:12:25 id: 104209590824
大概是因为频繁被刷下去
巃嵸巋巚 于 2017-02-17 21:12:58 id: 104209616925
回复 OnceBeta :喝了
烈火战神219 于 2017-02-17 21:30:23 id: 104210445259
回复 OnceBeta :然而不是因为有群内讨论吗现在正在做关而且没有技术难题而且不在群内的新人几乎没有啊
OnceBeta 于 2017-02-22 22:10:47 id: 104477932100
回复 烈火战神219 :所以这个帖子直接233


id: 104212152959
13L | 作者:HappyLee_12 | 发布于 2017-02-17 22:05

这个想法很好啊,只可惜Clickteam Fusion的项目代码不便于复制(还是我不会?),不便于移植……每次都觉得选择式写代码非常累,不如txt文本形式的代码。

回复
OnceBeta 于 2017-02-17 22:42:42 id: 104214013680
少数情况下可以移植的...只是可移植性真是没谁...简便性和可移植性是反比的233
koopa4 于 2017-02-17 23:09:46 id: 104215343366
可以截图啊
HappyLee_12 于 2017-02-17 23:52:41 id: 104217303184
回复 koopa4 : 截图然后手动一条条录入……好麻烦……@_*
OnceBeta 于 2017-02-17 23:55:15 id: 104217416032
回复 HappyLee_12 :其实一般熟悉后...都是直接凭印象写的...表示用C什么的一些可移植性还可以的东西写不太复杂的东西也是直接手写...
巃嵸巋巚 于 2017-02-18 07:28:59 id: 104227248649
复制还好,复制完要手动改对象会略烦;移植感觉不大现实
OnceBeta 于 2017-02-18 08:31:59 id: 104228729180
回复 巃嵸巋巚 :behavior可以的
巃嵸巋巚 于 2017-02-18 08:54:53 id: 104229369897
回复 OnceBeta :好长时间没碰RE了233
OnceBeta 于 2017-02-18 21:58:09 id: 104263049727
回复 巃嵸巋巚 :你需要尝试在W10E使用behavior
koopa4 于 2017-02-23 20:44:29 id: 104523805573
回复 巃嵸巋巚 :MMF对着上面的物件右键有一个Replace By Another Object的选项,专门用于一键改对象
巃嵸巋巚 于 2017-02-23 20:58:48 id: 104524405823
回复 koopa4 :知道啊 然而还是很烦
OnceBeta 于 2017-2-23 21:53 id: 104526889523
回复 koopa4 :然而......如果在同一个frame做相似物件,这个一下直接全过去一下直接全过来,完全无法做到和谐统一


id: 104392035564
14L | 作者:OnceBeta | 发布于 2017-02-21 08:16

然并卵这楼好像没用233

回复
巃嵸巋巚 于 2017-02-21 10:37:57 id: 104397334651
喝了
OnceBeta 于 2017-02-22 22:10:08 id: 104477899896
回复 巃嵸巋巚 :膜笼子


id: 104479319523
15L | 作者:巃嵸巋巚 | 发布于 2017-02-22 22:39

喝了


id: 104490981305
16L | 作者:烈火战神219 | 发布于 2017-02-23 05:42

永吧新水楼

回复
巃嵸巋巚 于 2017-02-23 07:07:30 id: 104492327629
神讽刺
OnceBeta 于 2017-02-23 07:55:18 id: 104493309305
吧务专用水楼
烈火战神219 于 2017-02-23 18:42:33 id: 104519179484
回复 OnceBeta :于是我们就这样又水了不少贴
OnceBeta 于 2017-02-23 18:43:50 id: 104519232002
回复 烈火战神219 :真·狗吧务
烈火战神219 于 2017-02-23 18:45:19 id: 104519293189
回复 OnceBeta :于是我们还要继续水吗
OnceBeta 于 2017-02-23 18:46:15 id: 104519332914
回复 烈火战神219 :行啊继续水,史上最水之吧务
烈火战神219 于 2017-02-23 18:47:39 id: 104519393821
回复 OnceBeta :好主意不过我突然想不出来要怎么水了,你有什么主意吗
OnceBeta 于 2017-02-23 18:53:11 id: 104519628264
回复 烈火战神219 :就这样,我们现在就在水贴
烈火战神219 于 2017-02-24 18:49:38 id: 104563319037
回复 OnceBeta :这真是一个好主意不如我给你讲个故事吧
OnceBeta 于 2017-02-24 19:16:10 id: 104564357701
回复 烈火战神219 :从前有个吧里面有一群吧务在水贴
巃嵸巋巚 于 2017-2-24 20:49 id: 104568137270
回复 OnceBeta :差评
OnceBeta 于 2017-2-24 21:57 id: 104570990042
回复 巃嵸巋巚 :难道不是么
烈火战神219 于 2017-2-25 13:11 id: 104596150384
回复 OnceBeta :从前,有一个传奇叫做syzx
OnceBeta 于 2017-2-26 12:03 id: 104636916130
回复 烈火战神219 :然后没了233333【
烈火战神219 于 2017-2-26 12:54 id: 104638848830
回复 OnceBeta :谁说的233
烈火战神219 于 2017-2-26 12:56 id: 104638941024
回复 OnceBeta : 一天他感觉没意思,就找了龙总做了个13-2,觉得太简单就又做了adv版。但是马里奥不觉得这很容易通关,在GO了N便后,无奈的出发去雪山找syzx……
OnceBeta 于 2017-2-26 13:00 id: 104639106803
回复 烈火战神219 :然后syzx稍加思索...掏出了一张...脚气卡!!!
烈火战神219 于 2017-2-26 15:48 id: 104645581778
回复 OnceBeta :标价20元
烈火战神219 于 2017-2-26 15:49 id: 104645610523
回复 OnceBeta :每月需充值10元


id: 104497491120
17L | 作者:可爱的闪电芦苇 | 发布于 2017-02-23 10:07

我想知道怎么做可以扔刺猬的库巴

回复
鬼地方32 于 2017-02-23 19:17:58 id: 104520683236
把8-4式的库巴的扔锤子技能改为扔刺球即可,很简单,在库巴的攻击事件里把“锤子”用“刺球”代替即可。除此之外其他的相关代码也要做改变。
OnceBeta 于 2017-02-23 19:19:34 id: 104520753548
回复 鬼地方32 :事实上并不是,我记得加过好几栏防穿墙。。,晚上看看啊
鬼地方32 于 2017-02-23 19:25:29 id: 104521006815
回复 OnceBeta :参照快乐云事件里的扔刺球代码即可。


id: 104636963705
18L | 作者:我爱吃烧饼哈哈 | 发布于 2017-02-26 12:04

如何做扔库巴的乌龟

回复
OnceBeta 于 2017-02-26 12:06:55 id: 104637058889
看你想实现怎样的效果
我爱吃烧饼哈哈 于 2017-02-26 12:10:45 id: 104637201472
回复 OnceBeta :无限扔库巴,并且库巴无敌
OnceBeta 于 2017-02-26 12:12:37 id: 104637272307
回复 我爱吃烧饼哈哈 :。。。严重破坏游戏平衡
我爱吃烧饼哈哈 于 2017-02-26 12:26:39 id: 104637799919
回复 OnceBeta :我还想做无限扔锤子的锤子龟和无限喷子弹的子弹花
OnceBeta 于 2017-02-26 12:37:01 id: 104638192384
回复 我爱吃烧饼哈哈 :厉害了
我爱吃烧饼哈哈 于 2017-02-26 12:38:38 id: 104638253840
回复 OnceBeta :这样可以有效增加关卡难度
烈火战神219 于 2017-02-26 12:57:12 id: 104638969318
回复 我爱吃烧饼哈哈 :@MV's world T
OnceBeta 于 2017-02-28 19:21:40 id: 104745155062
回复 烈火战神219 :怪物堆的例子
烈火战神219 于 2017-02-28 19:43:51 id: 104746000339
回复 OnceBeta :嗯我们应该创造一个梗,叫做Made In Europe【或者叫Made By Mariovriable3410
我爱吃烧饼哈哈 于 2017-03-03 17:37:23 id: 104847444759
回复 OnceBeta :怪物堆可以增加难度,但是可玩性不高
我爱吃烧饼哈哈 于 2017-3-3 17:37 id: 104847448102
回复 烈火战神219 :
巃嵸巋巚 于 2017-3-3 17:38 id: 104847478747
回复 我爱吃烧饼哈哈 :纯表情警告一次
我爱吃烧饼哈哈 于 2017-3-3 17:40 id: 104847530997
回复 巃嵸巋巚 :什么鬼
巃嵸巋巚 于 2017-3-3 17:42 id: 104847581906
回复 我爱吃烧饼哈哈 :自行看吧规
我爱吃烧饼哈哈 于 2017-3-3 17:45 id: 104847649778
回复 巃嵸巋巚 :喝了


id: 104745273930
19L | 作者:yjs2005219 | 发布于 2017-02-28 19:24

怎么做叉七式紫刺鱼

回复
烈火战神219 于 2017-02-28 19:44:05 id: 104746009385
CE没有吗
yjs2005219 于 2017-02-28 20:23:13 id: 104747537455
那怎么做复刻式紫刺飞鱼
烈火战神219 于 2017-02-28 21:02:49 id: 104749113138
回复 yjs2005219 :具体什么效果
yjs2005219 于 2017-03-01 04:12:03 id: 104761334977
回复 烈火战神219 :永远只锁定马里奥从水里跳出来而且还会吐出Crist式魔弹
OnceBeta 于 2017-03-01 09:17:23 id: 104766185817
回复 yjs2005219 :连发多条喝了,所以crist魔弹效果描述不明确根本无法帮忙
yjs2005219 于 2017-03-01 11:16:30 id: 104769957943
回复 OnceBeta :
烈火战神219 于 2017-03-01 21:05:06 id: 104789860805
回复 yjs2005219 :喝了锁定马里奥的话……W10E飞鱼(参数默认)或许是最佳选择详见MCW11-3子弹再参考别的会发射子弹的物件就是了
马里奥X7 于 2017-03-01 21:46:32 id: 104791397236
严格的说,crist那个只能叫做毒弹


id: 104854903304
20L | 作者:鬼地方32 | 发布于 2017-03-03 22:10

求助:引擎里摆设关卡页面的对象列表里只能找到“玩家1”至“玩家4”,如何添加一个玩家5进去?

回复
OnceBeta 于 2017-03-04 09:34:04 id: 104865484343
无法...clickteam fusion最多支持到4吧...考虑调用extension


id: 104873675475
21L | 作者:鬼地方32 | 发布于 2017-03-04 15:01

(求助×2)如何改存档后缀ini?

回复
OnceBeta 于 2017-03-04 15:02:03 id: 104873703621
多容易...后缀ini是加上去的,可以随便改
鬼地方32 于 2017-03-04 15:03:10 id: 104873734135
回复 OnceBeta :直接在事件列表里设置存档文件名?
OnceBeta 于 2017-03-04 15:27:48 id: 104874376343
回复 鬼地方32 :对的


id: 104874693426
22L | 作者:我爱吃烧饼哈哈 | 发布于 2017-03-04 15:39

如何做扔锤子龟的板栗并且让板栗无敌


id: 104882048281
23L | 作者:鬼地方32 | 发布于 2017-03-04 20:11

(求助×3)创建一个位图按钮 如何使这个按钮被点击后会打开浏览器跳转到某个网站?

回复
OnceBeta 于 2017-03-04 20:32:13 id: 104882682010
用plugin插件


id: 104929882012
24L | 作者:小清新布库尔 | 发布于 2017-03-06 11:05

CF2.5的倒计时如何使用?研究了好久还没有弄出来,我就是想实现让一个程序显示系统当前时间距离8点20分00秒还有多少时多少分多少秒,求大神帮帮忙,本人纯新,

回复
OnceBeta 于 2017-03-06 11:09:58 id: 104929986138
用file date和一个每秒修改一次的ini记录?
小清新布库尔 于 2017-03-06 11:22:19 id: 104930312493
回复 OnceBeta :这软件日期与时间插件自带倒计时功能,大神有没有研究过怎么用啊😂
小清新布库尔 于 2017-03-06 11:23:10 id: 104930335559
回复 OnceBeta :能说一下具体怎么操作么😂理解思路但不知道具体怎么做
OnceBeta 于 2017-03-06 11:41:29 id: 104930804473
回复 小清新布库尔 :没研究过,不过晚上可以看看。。。另外不是大神啊
小清新布库尔 于 2017-03-06 21:30:23 id: 104946381976
回复 OnceBeta :感谢(❁´ω`❁)


id: 104984867016
25L | 作者:巃嵸巋巚 | 发布于 2017-03-08 07:50

真•公共问题贴

回复
OnceBeta 于 2017-03-08 08:11:09 id: 104985178448
真·吧务专用水贴
CATLINA52 于 2017-03-11 00:23:34 id: 105068654396
回复 OnceBeta :而且是正式的,像我的帖子,标题都没有,给人的感觉是盗版问题贴(雾)
巃嵸巋巚 于 2017-03-11 00:37:58 id: 105068990505
回复 CATLINA52 :滑稽说明一切


id: 105444232611
26L | 作者:gurcd | 发布于 2017-03-22 20:48

顶帖

回复
巃嵸巋巚 于 2017-03-22 20:49:38 id: 105444271447
先不要急着顶 妨碍抓贼


id: 105449304006
27L | 作者:TNT与爬行者 | 发布于 2017-03-22 23:21

请问闪电特效如何做,我只会普通的置顶图层+用active自带的动画

回复
OnceBeta 于 2017-03-23 09:50:56 id: 105459019491
用flash闪烁+坐标变换(平移和旋转)可以做到较好的效果


id: 105501750689
28L | 作者:巃嵸巋巚 | 发布于 2017-03-24 14:37

怎样用MMF2.5调用Bass.dll

回复
OnceBeta 于 2017-03-24 15:00:33 id: 105502440201
你需要DLL Object


id: 105514617680
29L | 作者:OnceBeta | 发布于 2017-03-24 21:44

@鬼地方32 23L问题回复:


使用一个名为"Open URLs Object"的extension,event已于上图给出,核心Event在编号20



id: 105514813074
30L | 作者:OnceBeta | 发布于 2017-03-24 21:50

@小清新布库尔 24L问题回复:


贴一个3小时倒计时,用ini逐秒计数来进行的,貌似和原问题不是很贴切,不过层主可以参考一下。
注:那个长得像一条黑线的东西就是一个普通的Counter计数器。



id: 105515969484
31L | 作者:OnceBeta | 发布于 2017-03-24 22:24

@可爱的闪电芦苇 17L问题回复:
实现该种效果的途径有很多,这里我贴一个我在World 13-3 Part 2里做的吧,层主参考一下


如上图,我通过两个Object来实现该效果,一个是在库巴扔刺球前后在库巴手里的(蓝标2),我称之为"Creator"吧,另一个是扔出来的诸多个、落地后将变成刺猬的(蓝标1),称之为"Resultant"。
蓝标1的Y坐标永远随库巴变化,X坐标在一般时候则为-99(其实屏幕外看不到即可),扔刺猬当时随库巴变化,整个扔刺猬过程由一个loop控制,如上图这两行就是核心Event。
注:图中两行无用的Subevent:
①马里奥大小>2,事实上我上面还有类似的两行=0 =1的,用来控制在马里奥不同状态下扔出不同数量的刺猬
②Random(3)=0,下面亦有两行=1 =2的,用来随机播放三个扔刺猬的音效